#include<bits/stdc++.h>
#define int long long
using namespace std;
const int  N=1e6+6;
int n,m;
string s[N]; 
void dd(int x,int y) {
	if(s[x][y]!='#') return ;
	s[x][y]='0';
}
bool cg(int x,int y) {
	if(s[x][y]!='#') return 0;
	s[x][y]='1';
	dd(x-1,y);
	dd(x+1,y);
	dd(x,y-1);
	dd(x,y+1);
	return 1;
}
signed main(){
	freopen("indian.in","r",stdin);
	freopen("indian.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	cin>>n>>m;
	for(int i=0;i<=m+1;i++) s[0]+='.',s[n+1]+='.';
	for(int i=1;i<=n;i++) {
		cin>>s[i];
		s[i]='.'+s[i]+'.';
	}
	for(int i=1;i<=n;i++)
	for(int j=1;j<=m;j++) {
		if(s[i][j]=='#') {
			if(s[i-1][j]!='#'&&s[i+1][j]!='#') {
				if(!cg(i,j+1)) cg(i,j);
				continue ;
			}
			if(s[i-1][j]!='#') {
				if(!cg(i+1,j)) cg(i,j);
				continue ;
			}
			cg(i,j);
		}
	}
	for(int i=1;i<=n;i++) {
		for(int j=1;j<=m;j++)
			cout<<s[i][j];
		cout<<"\n";
	}
	return 0;
}

